package com.share.device.emqx.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * EMQX客户端配置
 *
 * @author zxl
 * @date 2025年03月28日 21:35
 */
@Data
@Component
@ConfigurationProperties(prefix = "emqx.client")
public class EmqxProperties {
    // 客户端ID
    private String clientId;
    // 用户名
    private String username;
    // 密码
    private String password;
    // 服务器地址
    private String serverURI;
    // 心跳间隔：心跳间隔是指客户端向服务器发送心跳消息的最大时间间隔（单位通常为秒）
    // 用于确保客户端与服务器之间的连接处于活动状态。如果服务器在 2 * keepAliveInterval 的时间内没有收到客户端的消息（包括心跳消息），服务器会认为客户端已断开连接并关闭会话。
    //应用场景：在网络不稳定或长时间无数据交互的情况下，心跳机制可以检测连接是否仍然有效，避免资源浪费
    private int keepAliveInterval;
    // 连接超时时间
    private int connectionTimeout;
}
